class Student(object):
    pass

s = Student()
# 动态给实例绑定一个属性
s.name = '王天娲'
print(s.name)

# 定义一个函数作为实例方法
def set_age(self, age):
    self.age = age

from types import MethodType
# 给实例绑定一个方法
s.set_age = MethodType(set_age, s)
s.set_age(18)
print(s.age)

# 给一个实例绑定的方法，对另一个实例是不起作用的：
s2 = Student()
# s2.set_age(18) 会报错


# 给所有实例绑定方法，可以给class绑定方法

def set_score(self, score):
    self.score = score
Student.set_score = set_score

# 所有实例均可以调用
s2.set_score(1999)
print(s2.score)
